home *** CD-ROM | disk | FTP | other *** search
/ Scene Storm / Scene Storm - Volume 1.iso / coding / asm / demos / spaceballscrktro / includes / hardware.i next >
Encoding:
Text File  |  1980-01-04  |  8.0 KB  |  527 lines

  1. ;Amiga Hardware Registers Include File
  2.  
  3. ;CIA addresses
  4.  
  5. ;These are absolute addresses
  6.  
  7. ;Set Devpac tab setting to 16 for readable list.
  8.  
  9. CIAAPRA    EQU    $BFE001
  10. CIAAPRB    EQU    $BFE101
  11. CIAADDRA    EQU    $BFE201
  12. CIAADDRB    EQU    $BFE301
  13. CIAATALO    EQU    $BFE401
  14. CIAATAHI    EQU    $BFE501
  15. CIAATBLO    EQU    $BFE601
  16. CIAATBHI    EQU    $BFE701
  17. CIAAE.LSB    EQU    $BFE801
  18. CIAAE.MID    EQU    $BFE901
  19. CIAAE.MSB    EQU    $BFEA01
  20. CIAASP    EQU    $BFEC01
  21. CIAAICR    EQU    $BFED01
  22. CIAACRA    EQU    $BFEE01
  23. CIAACRB    EQU    $BFEF01
  24.  
  25. CIABPRA    EQU    $BFD000
  26. CIABPRB    EQU    $BFD100
  27. CIABDDRA    EQU    $BFD200
  28. CIABDDRB    EQU    $BFD300
  29. CIABTALO    EQU    $BFD400
  30. CIABTAHI    EQU    $BFD500
  31. CIABTBLO    EQU    $BFD600
  32. CIABTBHI    EQU    $BFD700
  33. CIAJE.LSB    EQU    $BFD800
  34. CIABE.MID    EQU    $BFD900
  35. CIABE.MSB    EQU    $BFDA00
  36. CIABSP    EQU    $BFDC00
  37. CIABICR    EQU    $BFDD00
  38. CIABCRA    EQU    $BFDE00
  39. CIABCRB    EQU    $BFDF00
  40.  
  41.  
  42. ;Custom Chip Register Values
  43. ;All values are offsets from $DFF000
  44.  
  45. CUSTOM    EQU    $DFF000
  46.  
  47. BLTDDAT    EQU    $000    ;early read-68000 can't access
  48.  
  49. DMACONR    EQU    $002    ;DMA controller read
  50. VPOSR    EQU    $004
  51. VHPOSR    EQU    $006
  52.  
  53. DSKDATR    EQU    $008    ;when non-DMA disk transferring
  54.  
  55. JOY0DAT    EQU    $00A
  56. JOY1DAT    EQU    $00C
  57.  
  58. CLXDAT    EQU    $00E    ;sprite collision data
  59. ADKCONR    EQU    $010    ;disk/audio status read
  60.  
  61. POT0DAT    EQU    $012
  62. POT1DAT    EQU    $014
  63. POTGOR    EQU    $016
  64.  
  65. SERDATA    EQU    $018
  66. DSKBYTR    EQU    $01A
  67.  
  68. INTENAR    EQU    $01C    ;interrupt enable read
  69. INTREQR    EQU    $01E    ;interrupt request read
  70.  
  71. DSKPTH    EQU    $020
  72. DSKPTL    EQU    $022
  73.  
  74. DSKLEN    EQU    $024
  75. DSKDAT    EQU    $026
  76.  
  77. REFPTR    EQU    $028    ;refresh counter write (CARE!!)
  78.  
  79. VPOSW    EQU    $02A
  80. VHPOSW    EQU    $02C
  81.  
  82. COPCON    EQU    $02E    ;COPPER danger bit
  83.  
  84. SERDAT    EQU    $030
  85. SERPER    EQU    $032
  86.  
  87. POTGO    EQU    $034
  88.  
  89. JOYTEST    EQU    $036
  90.  
  91. STREQU    EQU    $038    ;horizontal sync with VB and equal frame
  92.  
  93. STRVBL    EQU    $03A    ;horizontal sync with vertical blank
  94.  
  95. STRHOR    EQU    $03C    ;horizontal sync signal
  96.  
  97. STRLONG    EQU    $03E
  98.  
  99. ;following registers accessible when
  100. ;Copper Danger Bit set (COPCON = 1)
  101.  
  102. BLTCON0    EQU    $040
  103. BLTCON1    EQU    $042
  104.  
  105. BLTAFWM    EQU    $044
  106. BLTALWM    EQU    $046
  107.  
  108. BLTCPTH    EQU    $048
  109. BLTCPTL    EQU    $04A
  110.  
  111. BLTBPTH    EQU    $04C
  112. BLTBPTL    EQU    $04E
  113.  
  114. BLTAPTH    EQU    $050
  115. BLTAPTL    EQU    $052
  116.  
  117. BLTDPTH    EQU    $054
  118. BLTDPTL    EQU    $056
  119.  
  120. BLTSIZE    EQU    $058
  121.  
  122. BLTCMOD    EQU    $060
  123. BLTBMOD    EQU    $062
  124. BLTAMOD    EQU    $064
  125. BLTDMOD    EQU    $066
  126.  
  127. BLTCDAT    EQU    $070
  128. BLTBDAT    EQU    $072
  129. BLTADAT    EQU    $074
  130.  
  131. DSKSYNC    EQU    $07E
  132.  
  133. ;Following registers can always be written by the Copper
  134.  
  135. COP1LCH    EQU    $080
  136. COP1LCL    EQU    $082
  137.  
  138. COP2LCH    EQU    $084
  139. COP2LCL    EQU    $086
  140.  
  141. COPJMP1    EQU    $088
  142. COPJMP2    EQU    $08A
  143.  
  144. COPINS    EQU    $08C    ;COPPER command register
  145.  
  146. DIWSTRT    EQU    $08E    ;window start, stop values
  147. DIWSTOP    EQU    $090
  148.  
  149. DDFSTRT    EQU    $092    ;DMA data fetch start, stop
  150. DDFSTOP    EQU    $094
  151.  
  152. DMACON    EQU    $096    ;main DMA controller write (SETIT)
  153.  
  154. CLXCON    EQU    $098    ;collision register
  155.  
  156. INTENA    EQU    $09A    ;interrupt enable write (SETIT)
  157.  
  158. INTREQ    EQU    $09C    ;interrupt request write (force an int) (SETIT)
  159.  
  160. ADKCON    EQU    $09E    ;audio/disk controller (SETIT)
  161.  
  162. ;audio control registers
  163.  
  164. AUD0LCH    EQU    $0A0
  165. AUD0LCL    EQU    $0A2
  166. AUD0LEN    EQU    $0A4
  167. AUD0PER    EQU    $0A6
  168. AUD0VOL    EQU    $0A8
  169. AUD0DAT    EQU    $0AA
  170.  
  171. AUD1LCH    EQU    $0B0
  172. AUD1LCL    EQU    $0B2
  173. AUD1LEN    EQU    $0B4
  174. AUD1PER    EQU    $0B6
  175. AUD1VOL    EQU    $0B8
  176. AUD1DAT    EQU    $0BA
  177.  
  178. AUD2LCH    EQU    $0C0
  179. AUD2LCL    EQU    $0C2
  180. AUD2LEN    EQU    $0C4
  181. AUD2PER    EQU    $0C6
  182. AUD2VOL    EQU    $0C8
  183. AUD2DAT    EQU    $0CA
  184.  
  185. AUD3LCH    EQU    $0D0
  186. AUD3LCL    EQU    $0D2
  187. AUD3LEN    EQU    $0D4
  188. AUD3PER    EQU    $0D6
  189. AUD3VOL    EQU    $0D8
  190. AUD3DAT    EQU    $0DA
  191.  
  192. ;bitplane DMA control registers
  193.  
  194. BPL1PTH    EQU    $0E0
  195. BPL1PTL    EQU    $0E2
  196.  
  197. BPL2PTH    EQU    $0E4
  198. BPL2PTL    EQU    $0E6
  199.  
  200. BPL3PTH    EQU    $0E8
  201. BPL3PTL    EQU    $0EA
  202.  
  203. BPL4PTH    EQU    $0EC
  204. BPL4PTL    EQU    $0EE
  205.  
  206. BPL5PTH    EQU    $0F0
  207. BPL5PTL    EQU    $0F2
  208.  
  209. BPL6PTH    EQU    $0F4
  210. BPL6PTL    EQU    $0F6
  211.  
  212. BPL7PTH    EQU    $0F8
  213. BPL7PTL    EQU    $0FA
  214.  
  215. BPL8PTH    EQU    $0FC
  216. BPL8PTL    EQU    $0FE
  217.  
  218. BPLCON0    EQU    $100
  219. BPLCON1    EQU    $102
  220. BPLCON2    EQU    $104
  221. BPLCON3    EQU    $106
  222.  
  223. BPL1MOD    EQU    $108
  224. BPL2MOD    EQU    $10A
  225.  
  226. BPLCON4    EQU    $10C
  227.  
  228. BPL1DAT    EQU    $110
  229. BPL2DAT    EQU    $112
  230. BPL3DAT    EQU    $114
  231. BPL4DAT    EQU    $116
  232. BPL5DAT    EQU    $118
  233. BPL6DAT    EQU    $11A
  234.  
  235. ;sprite control registers
  236.  
  237. SPR0PTH    EQU    $120
  238. SPR0PTL    EQU    $122
  239.  
  240. SPR1PTH    EQU    $124
  241. SPR1PTL    EQU    $126
  242.  
  243. SPR2PTH    EQU    $128
  244. SPR2PTL    EQU    $12A
  245.  
  246. SPR3PTH    EQU    $12C
  247. SPR3PTL    EQU    $12E
  248.  
  249. SPR4PTH    EQU    $130
  250. SPR4PTL    EQU    $132
  251.  
  252. SPR5PTH    EQU    $134
  253. SPR5PTL    EQU    $136
  254.  
  255. SPR6PTH    EQU    $138
  256. SPR6PTL    EQU    $13A
  257.  
  258. SPR7PTH    EQU    $13C
  259. SPR7PTL    EQU    $13E
  260.  
  261. SPR0POS    EQU    $140
  262. SPR0CTL    EQU    $142
  263. SPR0DATA    EQU    $144
  264. SPR0DATB    EQU    $146
  265.  
  266. SPR1POS    EQU    $148
  267. SPR1CTL    EQU    $14A
  268. SPR1DATA    EQU    $14C
  269. SPR1DATB    EQU    $14E
  270.  
  271. SPR2POS    EQU    $150
  272. SPR2CTL    EQU    $152
  273. SPR2DATA    EQU    $154
  274. SPR2DATB    EQU    $156
  275.  
  276. SPR3POS    EQU    $158
  277. SPR3CTL    EQU    $15A
  278. SPR3DATA    EQU    $15C
  279. SPR3DATB    EQU    $15E
  280.  
  281. SPR4POS    EQU    $160
  282. SPR4CTL    EQU    $162
  283. SPR4DATA    EQU    $164
  284. SPR4DATB    EQU    $166
  285.  
  286. SPR5POS    EQU    $168
  287. SPR5CTL    EQU    $16A
  288. SPR5DATA    EQU    $16C
  289. SPR5DATB    EQU    $16E
  290.  
  291. SPR6POS    EQU    $170
  292. SPR6CTL    EQU    $172
  293. SPR6DATA    EQU    $174
  294. SPR6DATB    EQU    $176
  295.  
  296. SPR7POS    EQU    $178
  297. SPR7CTL    EQU    $17A
  298. SPR7DATA    EQU    $17C
  299. SPR7DATB    EQU    $17E
  300.  
  301. ;palette control registers
  302.  
  303. COLOR00    EQU    $180
  304. COLOR01    EQU    $182
  305. COLOR02    EQU    $184
  306. COLOR03    EQU    $186
  307. COLOR04    EQU    $188
  308. COLOR05    EQU    $18A
  309. COLOR06    EQU    $18C
  310. COLOR07    EQU    $18E
  311. COLOR08    EQU    $190
  312. COLOR09    EQU    $192
  313. COLOR10    EQU    $194
  314. COLOR11    EQU    $196
  315. COLOR12    EQU    $198
  316. COLOR13    EQU    $19A
  317. COLOR14    EQU    $19C
  318. COLOR15    EQU    $19E
  319. COLOR16    EQU    $1A0
  320. COLOR17    EQU    $1A2
  321. COLOR18    EQU    $1A4
  322. COLOR19    EQU    $1A6
  323. COLOR20    EQU    $1A8
  324. COLOR21    EQU    $1AA
  325. COLOR22    EQU    $1AC
  326. COLOR23    EQU    $1AE
  327. COLOR24    EQU    $1B0
  328. COLOR25    EQU    $1B2
  329. COLOR26    EQU    $1B4
  330. COLOR27    EQU    $1B6
  331. COLOR28    EQU    $1B8
  332. COLOR29    EQU    $1BA
  333. COLOR30    EQU    $1BC
  334. COLOR31    EQU    $1BE
  335.  
  336. FMODE    EQU    $1FC
  337. BEAMCON0    EQU    $1DC
  338.  
  339. * DMA and INT register bit assignments (SETIT used for DMACON
  340. * type registers throughout! All such registers comment flagged
  341. * with (SETIT) by name)
  342.  
  343. SETIT    EQU    $8000
  344. BBUSY    EQU    $4000
  345. BZERO    EQU    $2000
  346. BLTPRI    EQU    $0400
  347. DMAEN    EQU    $0200
  348. BPLEN    EQU    $0100
  349. COPEN    EQU    $0080
  350. BLTEN    EQU    $0040
  351. SPREN    EQU    $0020
  352. DSKEN    EQU    $0010
  353. AUD3EN    EQU    $0008
  354. AUD2EN    EQU    $0004
  355. AUD1EN    EQU    $0002
  356. AUD0EN    EQU    $0001
  357.  
  358. INTEN    EQU    $4000
  359. EXTER    EQU    $2000
  360. DSKSYN    EQU    $1000
  361. RBF    EQU    $0800
  362. AUD3    EQU    $0400
  363. AUD2    EQU    $0200
  364. AUD1    EQU    $0100
  365. AUD0    EQU    $0080
  366. BLIT    EQU    $0040
  367. VERTB    EQU    $0020
  368. COPER    EQU    $0010
  369. PORTS    EQU    $0008
  370. SOFT    EQU    $0004
  371. DSKBLK    EQU    $0002
  372. TBE    EQU    $0001
  373.  
  374. CDANG    EQU    $02E    ;COPPER DANGER BIT REG
  375.  
  376. * BPLCON0 BIT ASSIGNMENTS
  377.  
  378. HIRES    EQU    $8000    ;HIRES mode on
  379. BPU2    EQU    $4000
  380. BPU1    EQU    $2000    ;BPU2-0 = no of bit planes used
  381. BPU0    EQU    $1000
  382. HOMOD    EQU    $0800    ;HAM on
  383. DBPLF    EQU    $0400    ;Dual Playfield on
  384. COLOR    EQU    $0200    ;Video output colour
  385. GAUD    EQU    $0100    ;Genlock Audio on
  386.  
  387. LPEN    EQU    $0008    ;Light Pen input active
  388. LACE    EQU    $0004    ;interlace on
  389. ERSY    EQU    $0002    ;external synchronsiation on
  390.  
  391. * Blitter Minterm Definitions
  392. * NA = not A, NB = not B etc
  393.  
  394. MINTERM_ABC    EQU    %111
  395. MINTERM_ABNC    EQU    %110
  396. MINTERM_ANBC    EQU    %101
  397. MINTERM_ANBNC    EQU    %100
  398. MINTERM_NABC    EQU    %011
  399. MINTERM_NABNC    EQU    %010
  400. MINTERM_NANBC    EQU    %001
  401. MINTERM_NANBNC    EQU    %000
  402.  
  403.  
  404. * BLTCON0 Bit Assignments
  405.  
  406. ASH3    EQU    $8000
  407. ASH2    EQU    $4000
  408. ASH1    EQU    $2000
  409. ASH0    EQU    $1000
  410. USEA    EQU    $0800
  411. USEB    EQU    $0400
  412. USEC    EQU    $0200
  413. USED    EQU    $0100
  414. LF7    EQU    $0080
  415. LF6    EQU    $0040
  416. LF5    EQU    $0020
  417. LF4    EQU    $0010
  418. LF3    EQU    $0008
  419. LF2    EQU    $0004
  420. LF1    EQU    $0002
  421. LF0    EQU    $0001
  422.  
  423. START3    EQU    $8000
  424. START2    EQU    $4000
  425. START1    EQU    $2000
  426. START0    EQU    $1000
  427.  
  428. * BLTCON1 Bit Assignments
  429.  
  430. BSH3    EQU    $8000
  431. BSH2    EQU    $4000
  432. BSH1    EQU    $2000
  433. BSH0    EQU    $1000
  434.  
  435. EFE    EQU    $0010
  436. IFE    EQU    $0008
  437. FCI    EQU    $0004
  438. DESC    EQU    $0002
  439. LINE    EQU    $0001
  440.  
  441. TEXTURE3    EQU    $8000
  442. TEXTURE2    EQU    $4000
  443. TEXTURE1    EQU    $2000
  444. TEXTURE0    EQU    $1000
  445.  
  446. SIGN    EQU    $0040
  447.  
  448. SUD    EQU    $0010
  449. SUL    EQU    $0008
  450. AUL    EQU    $0004
  451. SING    EQU    $0002
  452.     
  453. * ADKCON bit assignments (SETIT)
  454.  
  455. PRECOMP1    EQU    $4000
  456. PRECOMP0    EQU    $2000
  457.  
  458. MFMPREC    EQU    $1000
  459. UARTNRK    EQU    $0800
  460. WORDSYNC    EQU    $0400
  461. MSBSYNC    EQU    $0200
  462. FAST    EQU    $0100
  463.  
  464. USE3PN    EQU    $0080
  465. USE2P3    EQU    $0040
  466. USE1P2    EQU    $0020
  467. USE0P1    EQU    $0010
  468. USE3VN    EQU    $0008
  469. USE2V3    EQU    $0004
  470. USE1V2    EQU    $0002
  471. USE0V1    EQU    $0001
  472.  
  473. * POTGO bit assignments
  474.  
  475. OUTRY    EQU    $8000
  476. DATRY    EQU    $4000
  477. OUTRX    EQU    $2000
  478. DATRX    EQU    $1000
  479. OUTLY    EQU    $0800
  480. DATLY    EQU    $0400
  481. OUTLX    EQU    $0200
  482. DATLX    EQU    $0100
  483.  
  484. POTGOSTART    EQU    $0001
  485.  
  486. *SERPER bit assignments
  487.  
  488. LONG    EQU    $8000
  489.  
  490. * SERDAT/SERDATR bit assignments
  491.  
  492. SD_OVRUN    EQU    $8000
  493. SD_RBF    EQU    $4000
  494. SD_TBE    EQU    $2000
  495. SD_RXD    EQU    $1000
  496.  
  497. SD_STP    EQU    $0200
  498. SD_DB8    EQU    $0100
  499. SD_DB7    EQU    $0080
  500. SD_DB6    EQU    $0040
  501. SD_DB5    EQU    $0020
  502. SD_DB4    EQU    $0010
  503. SD_DB3    EQU    $0008
  504. SD_DB2    EQU    $0004
  505. SD_DB1    EQU    $0002
  506. SD_DB0    EQU    $0001
  507.  
  508. *DSKBYT/DSKBYTR bit assignments
  509.  
  510. BYTEREADY    EQU    $8000
  511. DMAON    EQU    $4000
  512. DSKWRITE    EQU    $2000
  513. WORDEQUAL    EQU    $1000
  514.  
  515. DB_DATA7    EQU    $0080
  516. DB_DATA6    EQU    $0040
  517. DB_DATA5    EQU    $0020
  518. DB_DATA4    EQU    $0010
  519. DB_DATA3    EQU    $0008
  520. DB_DATA2    EQU    $0004
  521. DB_DATA1    EQU    $0002
  522. DB_DATA0    EQU    $0001
  523.  
  524. * DSKLEN    bit assignments
  525.  
  526. DK_DMAEN    EQU    $8000
  527. DK_WRITE    EQU    $4000